#ifndef __ZAPI_CAMERA_H__
#define __ZAPI_CAMERA_H__

typedef void (*CAM_CALL_BACK)(void *pFrameBuffer);

typedef enum{
	CAM_MODE_PREVIEW = 0,
	CAM_MODE_CAPTURE,
	CAM_MODE_CAPDISP,
	CAM_MODE_SNAPSHOT,
	CAM_MODE_VIDEO_PREVIEW,
	CAM_MODE_MAX
} CAMERA_MODE;

typedef struct ZAPI_Camera {
    int (*Init) (void);
    void(*Deinit) (void);
    int (*Start) (CAMERA_MODE, Uint16**, Uint8, int, int, CAM_CALL_BACK);
    int (*Stop) (void);
    int (*Ack) (Uint16 *);
    void(*ShowFrame) (Uint16 *, int, int);
    int (*SetFlashLED) (int, int);
    int (*SetBrightness) (int);
    int (*SetWhiteBalance) (int);
    int (*SetColoreffects) (int);
    int (*SetResolution) (int, int);
    int (*SetContrast) (int);
    int (*SetZoom) (int);
    int (*SetScenemode) (int);
} ZAPI_Camera;

#endif // __ZAPI_CAMERA_H__
